This specification relates to automatically changing a search query in a given script to a search query in another script.
A search engine enables a user to provide a search query for which search results are returned in response. In general, the query can include any character that the user is capable of generating with his or her input device. Input devices can have keys or buttons that are each capable of producing one of many characters. A keyboard, for example, can have multiple keyboard layouts. Each keyboard layout typically corresponds to the characters most frequently used within a particular writing system (i.e., a script). In countries whose writing systems are not based on the Latin alphabet, keyboards usually have at least two keyboard layouts, one for producing Latin characters (e.g., a U.S. English keyboard layout), the other for producing the characters of the user's native writing system (e.g., Cyrillic, Devanāgarī, or Arabic).
Generally, users are able to switch between two or more keyboard layouts very easily (e.g., typically with a single keystroke). The currently selected keyboard layout normally determines the characters produced by each key of the keyboard. A user may inadvertently use their input device to submit a query in one script when they really intended to provide the same query in another script. For example, a user searching for ‘news’ may inadvertently submit ‘’ on a Hebrew keyboard layout because the keystrokes that produce the characters ‘’ produce the characters ‘news’ on the corresponding Latin keyboard layout.